<HTML>
<HEAD>
<!-- This HTML file has been created by texi2html 1.29
     from sysadmin.tnf on 19 December 2010 -->

<TITLE>Eli System Administration Guide - Installation</TITLE>
</HEAD>
<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000EE" VLINK="#551A8B" ALINK="#FF0000" BACKGROUND="gifs/bg.gif">
<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0" VALIGN=BOTTOM>
<TR VALIGN=BOTTOM>
<TD WIDTH="160" VALIGN=BOTTOM>
<A HREF="http://eli-project.sourceforge.net/">
<IMG SRC="gifs/elilogo.gif" BORDER=0>
</A>&nbsp;
</TD>
<TD WIDTH="25" VALIGN=BOTTOM>
<img src="gifs/empty.gif" WIDTH=25 HEIGHT=25>
</TD>
<TD ALIGN=LEFT WIDTH="475" VALIGN=BOTTOM>
<A HREF="index.html"><IMG SRC="gifs/title.png" BORDER=0></A>
</TD>
<!-- |DELETE FOR SOURCEFORGE LOGO|
<TD>
<a href="http://sourceforge.net/projects/eli-project">
<img
  src="http://sflogo.sourceforge.net/sflogo.php?group_id=70447&amp;type=13"
  width="120" height="30"
  alt="Get Eli: Translator Construction Made Easy at SourceForge.net.
    Fast, secure and Free Open Source software downloads"/>
</a>
</TD>
|DELETE FOR SOURCEFORGE LOGO| -->
</TR>
</TABLE>

<HR size=1 noshade width=785 align=left>
<TABLE BORDER=0 CELLSPACING=2 CELLPADDING=0>
<TR>
<TD VALIGN=TOP WIDTH="160">
<h4>General Information</h4>

<table BORDER=0 CELLSPACING=0 CELLPADDING=0>
<tr valign=top><td><img src="gifs/gelbekugel.gif" WIDTH=7 HEIGHT=7 ALT=" o"> </td><td><a href="index.html">Eli: Translator Construction Made Easy</a></td></tr>
<tr valign=top><td><img src="gifs/gelbekugel.gif" WIDTH=7 HEIGHT=7 ALT=" o"> </td><td><a href="gindex_1.html#SEC1">Global Index</a></td></tr>
<tr valign=top><td><img src="gifs/gelbekugel.gif" WIDTH=7 HEIGHT=7 ALT=" o"> </td><td><a href="faq_toc.html" >Frequently Asked Questions</a> </td></tr>
<tr valign=top><td><img src="gifs/gelbekugel.gif" WIDTH=7 HEIGHT=7 ALT=" o"> </td><td><a href="ee.html" >Typical Eli Usage Errors</a> </td></tr>
</table>

<h4>Tutorials</h4>

<table BORDER=0 CELLSPACING=0 CELLPADDING=0>
<tr valign=top><td><img src="gifs/gelbekugel.gif" WIDTH=7 HEIGHT=7 ALT=" o"> </td><td><a href="EliRefCard_toc.html">Quick Reference Card</a></td></tr>
<tr valign=top><td><img src="gifs/gelbekugel.gif" WIDTH=7 HEIGHT=7 ALT=" o"> </td><td><a href="novice_toc.html">Guide For new Eli Users</a></td></tr>
<tr valign=top><td><img src="gifs/gelbekugel.gif" WIDTH=7 HEIGHT=7 ALT=" o"> </td><td><a href="news_toc.html">Release Notes of Eli</a></td></tr>
<tr valign=top><td><img src="gifs/gelbekugel.gif" WIDTH=7 HEIGHT=7 ALT=" o"> </td><td><a href="nametutorial_toc.html">Tutorial on Name Analysis</a></td></tr>
<tr valign=top><td><img src="gifs/gelbekugel.gif" WIDTH=7 HEIGHT=7 ALT=" o"> </td><td><a href="typetutorial_toc.html">Tutorial on Type Analysis</a></td></tr>
<tr valign=top><td><img src="gifs/gelbekugel.gif" WIDTH=7 HEIGHT=7 ALT=" o"> </td><td><a href="ee.html" >Typical Eli Usage Errors</a> </td></tr>
</table>

<h4>Reference Manuals</h4>

<table BORDER=0 CELLSPACING=0 CELLPADDING=0>
<tr valign=top><td><img src="gifs/gelbekugel.gif" WIDTH=7 HEIGHT=7 ALT=" o"> </td><td><a href="ui_toc.html">User Interface</a></td></tr>
<tr valign=top><td><img src="gifs/gelbekugel.gif" WIDTH=7 HEIGHT=7 ALT=" o"> </td><td><a href="pp_toc.html">Eli products and parameters</a></td></tr>
<tr valign=top><td><img src="gifs/gelbekugel.gif" WIDTH=7 HEIGHT=7 ALT=" o"> </td><td><a href="lidoref_toc.html">LIDO Reference Manual</a></td></tr>
<tr valign=top><td><img src="gifs/gelbekugel.gif" WIDTH=7 HEIGHT=7 ALT=" o"> </td><td><a href="ee.html" >Typical Eli Usage Errors</a> </td></tr>
</table>

<h4>Libraries</h4>

<table BORDER=0 CELLSPACING=0 CELLPADDING=0>
<tr valign=top><td><img src="gifs/gelbekugel.gif" WIDTH=7 HEIGHT=7 ALT=" o"> </td><td><a href="lib_toc.html">Eli library routines</a></td></tr>
<tr valign=top><td><img src="gifs/gelbekugel.gif" WIDTH=7 HEIGHT=7 ALT=" o"> </td><td><a href="modlib_toc.html">Specification Module Library</a></td></tr>
</table>

<h4>Translation Tasks</h4>

<table BORDER=0 CELLSPACING=0 CELLPADDING=0>
<tr valign=top><td><img src="gifs/gelbekugel.gif" WIDTH=7 HEIGHT=7 ALT=" o"> </td><td><a href="lex_toc.html">Lexical analysis specification</a></td></tr>
<tr valign=top><td><img src="gifs/gelbekugel.gif" WIDTH=7 HEIGHT=7 ALT=" o"> </td><td><a href="syntax_toc.html">Syntactic Analysis Manual</a></td></tr>
<tr valign=top><td><img src="gifs/gelbekugel.gif" WIDTH=7 HEIGHT=7 ALT=" o"> </td><td><a href="comptrees_toc.html">Computation in Trees</a></td></tr>
</table>

<h4>Tools</h4>

<table BORDER=0 CELLSPACING=0 CELLPADDING=0>
<tr valign=top><td><img src="gifs/gelbekugel.gif" WIDTH=7 HEIGHT=7 ALT=" o"> </td><td><a href="lcl_toc.html">LIGA Control Language</a> </td></tr>
<tr valign=top><td><img src="gifs/gelbekugel.gif" WIDTH=7 HEIGHT=7 ALT=" o"> </td><td><a href="show_toc.html">Debugging Information for LIDO</a> </td></tr>
<tr valign=top><td><img src="gifs/gelbekugel.gif" WIDTH=7 HEIGHT=7 ALT=" o"> </td><td><a href="gorto_toc.html">Graphical ORder TOol</a> </td></tr>
</table>
<p>
<table BORDER=0 CELLSPACING=0 CELLPADDING=0>
<tr valign=top><td><img src="gifs/gelbekugel.gif" WIDTH=7 HEIGHT=7 ALT=" o"> </td><td><a href="fw_toc.html">FunnelWeb User's Manual</a> </td></tr>
</table>
<p>
<table BORDER=0 CELLSPACING=0 CELLPADDING=0>
<tr valign=top><td><img src="gifs/gelbekugel.gif" WIDTH=7 HEIGHT=7 ALT=" o"> </td><td><a href="ptg_toc.html">Pattern-based Text Generator</a> </td></tr>
<tr valign=top><td><img src="gifs/gelbekugel.gif" WIDTH=7 HEIGHT=7 ALT=" o"> </td><td><a href="deftbl_toc.html">Property Definition Language</a> </td></tr>
<tr valign=top><td><img src="gifs/gelbekugel.gif" WIDTH=7 HEIGHT=7 ALT=" o"> </td><td><a href="oil_toc.html">Operator Identification Language</a> </td></tr>
<tr valign=top><td><img src="gifs/gelbekugel.gif" WIDTH=7 HEIGHT=7 ALT=" o"> </td><td><a href="tp_toc.html">Tree Grammar Specification Language</a> </td></tr>
<tr valign=top><td><img src="gifs/gelbekugel.gif" WIDTH=7 HEIGHT=7 ALT=" o"> </td><td><a href="clp_toc.html">Command Line Processing</a> </td></tr>
<tr valign=top><td><img src="gifs/gelbekugel.gif" WIDTH=7 HEIGHT=7 ALT=" o"> </td><td><a href="cola_toc.html">COLA Options Reference Manual</a> </td></tr>
</table>
<p>
<table BORDER=0 CELLSPACING=0 CELLPADDING=0>
<tr valign=top><td><img src="gifs/gelbekugel.gif" WIDTH=7 HEIGHT=7 ALT=" o"> </td><td><a href="idem_toc.html">Generating Unparsing Code</a> </td></tr>
</table>
<p>
<table BORDER=0 CELLSPACING=0 CELLPADDING=0>
<tr valign=top><td><img src="gifs/gelbekugel.gif" WIDTH=7 HEIGHT=7 ALT=" o"> </td><td><a href="mon_toc.html">Monitoring a Processor's Execution</a> </td></tr>
</table>

<h4>Administration</h4>

<table BORDER=0 CELLSPACING=0 CELLPADDING=0>
<tr valign=top><td><img src="gifs/gelbekugel.gif" WIDTH=7 HEIGHT=7 ALT=" o"> </td><td><a href="sysadmin_toc.html">System Administration Guide</a> </td></tr>
</table>

<HR WIDTH="100%">
<A HREF="mailto:eli-project-users@lists.sourceforge.net">
<IMG SRC="gifs/button_mail.gif" BORDER=0 ALIGN="left"></A>
<A HREF="index.html"><IMG SRC="gifs/home.gif" BORDER=0 ALIGN="right"></A>

</TD>
<TD VALIGN=TOP WIDTH="25"><img src="gifs/empty.gif" WIDTH=25 HEIGHT=25></TD>

<TD VALIGN=TOP WIDTH="600">
<H1>Eli System Administration Guide</H1>
<P>
<IMG SRC="gifs/empty.gif" WIDTH=25 HEIGHT=25 ALT=""><A HREF="sysadmin_2.html"><IMG SRC="gifs/prev.gif" ALT="Previous Chapter" BORDER="0"></A>
<IMG SRC="gifs/empty.gif" WIDTH=25 HEIGHT=25 ALT=""><A HREF="sysadmin_4.html"><IMG SRC="gifs/next.gif" ALT="Next Chapter" BORDER="0"></A>
<IMG SRC="gifs/empty.gif" WIDTH=25 HEIGHT=25 ALT=""><A HREF="sysadmin_toc.html"><IMG SRC="gifs/up.gif" ALT="Table of Contents" BORDER="0"></A>
<IMG SRC="gifs/empty.gif" WIDTH=25 HEIGHT=25 ALT="">
<HR size=1 noshade width=600 align=left>
<A NAME="IDX33"></A>
<H1><A NAME="SEC8" HREF="sysadmin_toc.html#SEC8">Installation</A></H1>
<P>
Eli is distributed as source text, which must be configured and compiled
before the system is usable.
An extra (optional) <DFN>installation</DFN> step creates a library that takes
advantage of versioned packages
(see  <A HREF="sysadmin_1.html#SEC2">Versioned packages</A>).
There are two reasons for installing Eli:
<P>
<UL>
<LI>
Existing packages are not overwritten by new versions,
leaving current caches unchanged until they are reset by a <CODE>-R</CODE>
parameter on the <CODE>eli</CODE> command
(see  <A HREF="sysadmin_2.html#SEC6">Packages in the cache</A>).
Thus the timing of an upgrade can be tailored to individual projects.
<P>
<LI>
The distribution directory contains a lot of "scaffolding"
that is used to build tools, but is not required to execute Eli.
By installing the system and then deleting the distribution
directory, you can eliminate all of this extraneous material.
</UL>
<P>
<A NAME="IDX34"></A>
<A NAME="IDX35"></A>
<H2><A NAME="SEC9" HREF="sysadmin_toc.html#SEC9">Installing Eli</A></H2>
<P>
As described in the Eli distribution's <TT>`README'</TT> file, you can build
the system by running <CODE>configure</CODE> followed by <CODE>make</CODE>.
A subsequent invocation of <CODE>make install</CODE> will install Eli in the
directory that you specified by the <CODE>--prefix</CODE> parameter when you
configured the distribution.
Typical settings are <CODE>--prefix=/usr/local</CODE> and
<CODE>--prefix=/opt/eli</CODE>.
(Your home directory is used if no <CODE>--prefix</CODE> parameter is supplied
to the <CODE>configure</CODE> command.)
<P>
Installation will add the following files and directories to the
specified directory (the <TT>`man'</TT>,
<TT>`bin'</TT>, and <TT>`lib'</TT> sub-directories will be created by the
installation process if they don't already exist):
<P>
<DL COMPACT>
<DT><TT>`man/man1/odin.1'</TT>
<DD>Man page for Odin.
<P>
<DT><TT>`bin/odin'</TT>
<DD>Command script
<P>
<DT><TT>`bin/eli'</TT>
<DD>Command script
<A NAME="IDX36"></A>
<P>
<DT><TT>`lib/Eli'</TT>
<DD>The library of Eli packages.
<A NAME="IDX37"></A>
<P>
<DT><TT>`lib/Odin'</TT>
<DD>The library of Odin packages.
</DL>
<P>
Each package directory in these libraries contains a subdirectory for each
distinct version of that package, plus meta-information defining the latest
version.
When a cache is built from a set of packages, the meta-information is used
to establish links to the latest version in each set.
The packages themselves are not copied to the cache.
<P>
When a new version of Eli is installed, the following changes are made to
the libraries:
<P>
<OL>
<LI>
If the <TT>`version'</TT> file of a package has not changed, but some of the
other files in that package have changed, the new files replace the old in
the appropriate subdirectory.
<P>
<LI>
Otherwise, a new subdirectory of the package directory in the library is
created.
It's name is the content of the <TT>`version'</TT> file.
The necessary files are copied into this new directory, and the
meta-information is updated to indicate that the new directory is the
latest.
</OL>
Since each cache links to a specific version subdirectory of the package,
changes will only affect it if the package version has not changed.
If the package version has changed, the previous subdirectory remains
undisturbed.
Thus an existing cache will be affected only by defect repairs that do not
alter any visible behavior
(see  <A HREF="sysadmin_1.html#SEC2">Versioned packages</A>).
<P>
<A NAME="IDX38"></A>
<A NAME="IDX39"></A>
<H2><A NAME="SEC10" HREF="sysadmin_toc.html#SEC10">Installing additional packages</A></H2>
<P>
Locally-developed packages can be added to existing libraries, or new
libraries can be created to hold them.
A new library is typically created as a new subdirectory of the directory
specified by the <CODE>--prefix</CODE> parameter when Eli was configured.
<P>
For example, you might create the directory <TT>`/opt/eli/Packages'</TT> to
hold additional packages that should be a part of the set from which every
cache was built.
If you then set the environment variable <VAR>ODINPATH</VAR> to
<CODE>/opt/eli/Packages</CODE>, the command <CODE>eli -R</CODE> would create a cache
from those packages, the standard Eli packages, and the standard Odin
packages
(see  <A HREF="sysadmin_2.html#SEC6">Packages in the cache</A>).
<P>
You can add a package directory or package collection directory <TT>`dir'</TT>
to a library directory <TT>`lib'</TT> by the following Eli request:
<P>
<PRE>
-&#62; dir +d_dest=(lib) :installpkg
</PRE>
Directory <TT>`dir'</TT> must be built (if necessary) and all irrelevant
files (e.g. <TT>`Makefile'</TT>, <TT>`README'</TT>, <TT>`CVS'</TT>, source files)
removed before this request is made.
If <TT>`dir'</TT> is a package directory, it must contain <TT>`*.dg'</TT> and
<TT>`version'</TT> files;
if it is a package collection directory, it must contain a <TT>`PKGLST'</TT>
file
(see  <A HREF="sysadmin_1.html#SEC2">Versioned packages</A>).
<P>
Packages installed via <CODE>:installpkg</CODE> behave exactly like the standard
versioned packages: repairs will be effective in existing caches but
changes in behavior will not
(see  <A HREF="sysadmin_3.html#SEC9">Installing Eli</A>).
<P>
<HR size=1 noshade width=600 align=left>
<P>
<IMG SRC="gifs/empty.gif" WIDTH=25 HEIGHT=25 ALT=""><A HREF="sysadmin_2.html"><IMG SRC="gifs/prev.gif" ALT="Previous Chapter" BORDER="0"></A>
<IMG SRC="gifs/empty.gif" WIDTH=25 HEIGHT=25 ALT=""><A HREF="sysadmin_4.html"><IMG SRC="gifs/next.gif" ALT="Next Chapter" BORDER="0"></A>
<IMG SRC="gifs/empty.gif" WIDTH=25 HEIGHT=25 ALT=""><A HREF="sysadmin_toc.html"><IMG SRC="gifs/up.gif" ALT="Table of Contents" BORDER="0"></A>
<IMG SRC="gifs/empty.gif" WIDTH=25 HEIGHT=25 ALT="">
<HR size=1 noshade width=600 align=left>
</TD>
</TR>
</TABLE>

</BODY></HTML>
